<?php
Class MovimientoSap extends ApplicationBase{
	private $tabla="wc_movimientosap";
	
	public function listadoMovimientoSap(){
		$data = $this->leeRegistro($this->tabla,"","","Estado desc","");
		return $data;		
	}
	public function estadoMovimientoSap($idMovimientoSap){
		$exito=$this->cambiaEstado($this->tabla,"Id=".$idMovimientoSap);
		return $exito;
	}
	public function grabaMovimientoSap($data){
		$exito=$this->grabaRegistro($this->tabla,$data);
		return $exito;
	}
	public function creaMovimientoSap($data,$idMovimiento){
		$a=new Movimiento();
		$dato=$a->buscar($idMovimiento);
		if(mysql_num_rows($dato)>0){
			$id=$this->grabaRegistro($this->tabla,$data);
		}
		$id=false;
		return $id;
	}
	
	/**
	 * 
	 * @param $fechahoy
	 * @param $montoDolares
	 * @return unknown_type
	 */
	public function tipoCambio($fechahoy, $montoDolares){

		//cargando la variable de configuracion
		$var_config = parse_ini_file("config.ini",true);
		
		$modo = $var_config['Globals']['Modo'];
		$URL_MODULO_PAGOS = $var_config[$modo]['URL_MODULO_PAGOS'];
		$oSoapClient = new nusoap_client($URL_MODULO_PAGOS,true);
		
		$tipoCambioWS = $oSoapClient->call("RetornarMontoTipoCambio",
		array(
			"monto" => $montoDolares			
		));
		$montoSoles = str_replace(",","",number_format($tipoCambioWS["RetornarMontoTipoCambioResult"]["Monto"],2));	
		$tipoCambio = $tipoCambioWS["RetornarMontoTipoCambioResult"]["TipoCambio"];
		$resultado = array("Monto" => $montoSoles,"TIPOCAMBIO"=>$tipoCambio);
		
		return $resultado;		
	}
	
	public function fechaPeriodoDiferido($codPromo,$perDiferido){
		$sap = $this->conectarSap();		
		$respuesta=$sap->callFunction("Z_FECHAS_DIFER_PROMO",array(
    						array("IMPORT","P_PROMO",$codPromo),
    						array("IMPORT","P_DIFER",$perDiferido),
    						array("EXPORT","CODRFC",array()),
    						array("EXPORT","ERROR_TEXT",array()),
    						array("EXPORT","FECHAINI",array()),
    						array("EXPORT","FECHAFIN",array())));
		if($sap->getStatus() == SAPRFC_OK){
			//return $respuesta['Fecha'];
			print_r($respuesta);
		}else{
			echo "status:<br>";
			$sap->printStatus();
		}
		$sap->logoff();
	}
	public function creaParticipante($datos){		
		//ubicacion
		//ubicacion de ejemplo
		//$datos['Pais']="PE";
		//$datos['Departamento']="JU";
		//$datos['Provincia']="1100008";
		//$datos['Distrito']="110114";		
		$datos['AREACARGO']="";		
		$datos['NOMSUCUR']="";
		$datos['DIRSUCUR']="";
		$datos['DISSUCUR']="";
		$datos['TELSUCUR1']="";		
		
		$fila['MANDT']="300";
		$fila['NRODOC']=$datos['DNI'];
		$fila['RUC']="";
		$fila['GRUCLIEN']=$datos['GruClien'];		
		$fila['APELLIDO1']=$datos['ApellidoPaterno'];
		$fila['APELLIDO2']=$datos['ApellidoMaterno'];
		$fila['NOMBRE']=$datos['Nombres'];
		$fila['DIRECCION']=$datos['Direccion'];
		$fila['DISTRITO']=$datos['Distrito'];
		$fila['PROVINCIA']=$datos['Provincia'];
		$fila['DEPARTAMENTO']=$datos['Departamento'];
		$fila['PAIS']=$datos['Pais'];
		$fila['TELEFONO']="-";
		$fila['CELULAR']=$datos['TelefonoContacto'];
		$fila['MAIL']=$datos['EmailPrincipal'];
		//$fila['SEXO']=$datos['Genero'];
		$fila['SEXO']="M";
		$fila['TRATO']="Sr.";
		$fila['CARGO']="";
		$fila['AREACARGO']=$datos['AreaCargo'];		
		$fila['NOMSUCUR']=$datos['NomSucur'];
		$fila['DIRSUCUR']=$datos['DirSucur'];
		$fila['DISSUCUR']=$datos['DisSucur'];
		$fila['TELSUCUR1']=$datos['TelSucur'];
		$fila['TD']='LE';
				
		//print_r($fila);
		//exit();
		$v[]=$fila;
		
		$sap=$this->conectarSap();
		$respuesta=$sap->callFunction("Z_RFC_SAFA_UPDATEPARTICIP",
		array(
			array("EXPORT","ERROR_TEXT",array()),
			array("EXPORT","CODRFC",array()),
			array("EXPORT","CODPARSAP",array()),
			array("EXPORT","CODEMPSAP",array()),
			array("TABLE","ZSAFA_PARTICIP_T",$v)
			)
		);    	
		if($sap->getStatus() == SAPRFC_OK){
			return $respuesta;
		}else{
			echo "status:<br>";
			$sap->printStatus();
			exit();
		}
		$sap->logoff();
		return false;
	}
	public function creaPedido($datos){
		$sap = $this->conectarSap(); 
		
		$fila['MANDT']="300";
		$fila['CLASE'] =$datos['Clase'];
		$fila["CODPROMO"]=$datos['CodPromo'];
		$fila["CODCURSO"]=$datos['CodCurso'];
		$fila["PERDIFE"]=$datos['PerDife'];
		$fila["CODPARTI"]=$datos['CodParti'];
		$fila["CODEMPRE"]=$datos['CodEmpre'];
		$fila["CONDPAGO"]=$datos['CondicionPago'];
		$fila["REFERENCIA"]=$datos['Referencia'];
		$fila["IMPORTE"]=$datos['Importe'];
		$fila["MONEDA"]=$datos['Moneda'];
		$fila["DESCUENTO"]=$datos['Descuento'];
		$fila["MONTODSCTO"]=$datos['MontoDescuento'];
		$fila["DSCTOPRONTO"]=$datos['DsctoPronto'];
		$fila["CODINTERES"]=$datos['CodInteres'];
		$fila["INTERES"]=$datos['MontoInteres'];
		$fila["DIRECCION"]=$datos['Direccion'];
		$fila["DISTRITO"]=$datos['Distrito'];
		$fila["PROVINCIA"]=$datos['Provincia'];
		$fila["DEPARTAMENTO"]=$datos['Departamento'];
		$fila["PAIS"]=$datos['Pais'];
		/*
		$fila['MANDT']="300";
		$fila['CLASE']="ZMAT";
		$fila["CODPROMO"]="ELEC-NAC/10-4";
		$fila["CODCURSO"]="000000231";
		$fila["PERDIFE"]="01";
		$fila["CODPARTI"]="0000375036";
		$fila["CODEMPRE"]="";
		$fila["CONDPAGO"]="Z020";
		$fila["REFERENCIA"]="01";
		$fila["IMPORTE"]="200";
		$fila["MONEDA"]="PEN";
		$fila["DESCUENTO"]="";
		$fila["MONTODSCTO"]="";
		$fila["DSCTOPRONTO"]="";
		$fila["CODINTERES"]="";
		$fila["INTERES"]="";
		$fila["DIRECCION"]="CDRA 3 LT 6";
		$fila["DISTRITO"]="110114";
		$fila["PROVINCIA"]="1100008";
		$fila["DEPARTAMENTO"]="JU";
		$fila["PAIS"]="PE";*/
		$v[]=$fila;
		$respuesta=$sap->callFunction("Z_RFC_SAFA_CREAPEDIDO",array(
    						array("EXPORT","ERROR_TEXT",array()),
    						array("EXPORT","CODRFC",array()),
    						array("EXPORT","CODPEDIDO",array()),
    						array("EXPORT","NIMPPED",array()),
    						array("EXPORT","NMONPED",array()),
    						array("TABLE","ZSAFA_PEDIDO_T",$v)));
    	
		if($sap->getStatus() == SAPRFC_OK){
			//print_r($respuesta);
			//exit();
			return $respuesta;
		}else{
			//echo "status:<br>";
			//$sap->printStatus();
		}
		$sap->logoff();
    	/*
    	$ped->Append(array ("MANDT"=>"300","CLASE"=>"ZMAT","CODPROMO"=>
    	"MATC/12","CODCURSO"=>"PPIP/12","PERDIFE"=>"","CODPARTI"=>"","CODEMPRE"=>"PROBANDO WEBCONCEPTOS","CONDPAGO"=>"Z020","REFERENCIA"=>"",
    	"IMPORTE"=>"1000","MONEDA"=>"PEN","DESCUENTO"=>"","MONTODSCTO"=>"","DSCTOPRONTO"=>"","CODINTERES"=>"","INTERES"=>"",
    	"DIRECCION"=>"","DIRECCION"=>"","DISTRITO"=>"","PROVINCIA"=>"","DEPARTAMENTO"=>"","PAIS"=>"")); */
    	
    	//$table=new SAPTable($creaPedido,"ZSAFA_PEDIDO_T");
    	//$order_nr = $row['import_tdname'];     	
    	//$this->desconectarSap($sap);    		
		//z_rfc_safa_creapedido('300','ZMAT',$codPromo,$codCurso,$perdife,$codparti,$codempre,
		//$condpago,$referencia,$importe,$moneda,$descuento,$montodscto,$dsctopronto,$codinteres,
		//$interes,$direccion,$distrito,$provincia,$departamento,$pais);
	}
	public function verificarMovimientoSap($idMovimiento){
		$a=new Movimiento();
		$dato=$a->buscar($idMovimiento);
		if(mysql_num_rows($dato)>0){
			return true;
		}
		return false;
	}
	public function buscar($id){
		$movimientosap=$this->leeRegistro($this->tabla,"","Id=".$id,"","");
		return $movimientosap;
	}	
	public function actualizaMovimientoSap($data,$filtro){
		$exito=$this->actualizaRegistro($this->tabla,$data,$filtro);
		return $exito;
	}
}
?>